home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / jx4nt125.zip / READ_1ST.TXT < prev    next >
Text File  |  1994-10-10  |  10KB  |  270 lines

  1. Jax4th for Windows NT
  2. Copyright 1993, 1994 Jack J. Woehr
  3. PO Box 51, Golden, Colorado 80402-0051
  4. jax@well.sf.ca.us 72203.1320@compuserve.com
  5. SYSOP RCFB (303) 278-0364
  6. All Rights Reserved
  7. --------------------------------------------------------
  8. This is free software and can be modified and redistributed under
  9. certain conditions described in the file COPYING.TXT. The
  10. Disclaimer of Warranty and License for this free software are also
  11. contained in the file COPYING.TXT.
  12.  
  13. [Windows NT and MASM are trade names used by Microsoft for two of their
  14. fine products and are the trademark property of that organization.]
  15.  
  16. This is Jax's free Forth for Windows NT. It's written in Microsoft MASM
  17. 6.11.
  18.  
  19. The source and documentation were prepared under Alan Phillips's
  20. (alan@lancaster.ac.uk) PFE Programmer's File Editor 0.04.009. The font
  21. was Lucida Sans Typewriter 7 which shows 124 characters by 31 lines in
  22. a full-screen VGA window and was very convenient for the author. You
  23. may have trouble browsing the source because of this, unless you are
  24. using a large screen or an editor/browser which provides small fonts
  25. for viewing and printing.
  26.  
  27. For Unicode files (such as UB2T.F in the UTILS subdirectory) you
  28. can use the  Microsoft SDK's UNIPAD to view and edit, or you can
  29. convert back and forth between Unicode and ASCII text with the
  30. utilities UNIBLOCK.EXE and UNIASCII.EXE provided with Jax4th until
  31. such a time as you find a decent Unicode text editor.
  32.  
  33. .BLK files are Forth BLOCK files and should be viewd in the Jax4th
  34. system. These BLOCK files are 1024-character Unicode BLOCK files,
  35. not good-old 1024 byte BLOCK files from the old days of Forth!
  36. See JAX4TH.DOC for more info on BLOCK and file handling in
  37. Jax4th.
  38.  
  39. The files are:
  40. COPYING.TXT        LICENSE for this software.
  41. READ_1ST.TXT        This file.
  42. JAX4TH.EXE        Jax4th for Windows NT, executable.
  43. UNIBLOCK.EXE        File conversion utility, ASCII > Unicode.
  44. UNIASCII.EXE        File conversion utility, Unicode > ASCII.
  45. JAX4TH.A        Jax4th for Windows NT, main source file.
  46. JAX4TH.I        Jax4th for Windows NT, main include file.
  47. JX4FILES.A        Jax4th for Windows NT, file-handling source.
  48. WINDOWS.I        Jax4th for Windows NT, windows includes.
  49. MAKEFILE        Jax4th for Windows NT, NMAKE makefile.
  50. UNIBLOCK.C        UNIBLOCK.EXE source.
  51. UNIASCII.C        UNIASCII.EXE source.
  52. JAX4TH.ICO        Icon for JAX4TH.EXE.
  53. JAX4TH.RC        Resource file for JAX4TH.EXE.
  54. DOC\JAX4TH.DOC        Minimal documentation for Jax4th.
  55. EXAMPLE\PASTE.BLK    Some utils and DDE example in Unicode BLOCK files.
  56. EXAMPLE\SHORTEST.F    For testing PASTE.BLK.
  57. OBJ4TH\DIMARRAY.UTF    N-dimensional self-indexing arrays.
  58. OBJ4TH\MULTIOOP.UTF    Multiple-inheritance data objecs
  59. OBJ4TH\OOPSOBJS.UTF    Sample objects for MULTIOOP.
  60. UTILS\UTILS.UTF        Unicode text source for various utilities.
  61. UTILS\EDITOR.UTF    Unicode text source for a simple Unicode BLOCK
  62.             file editor.
  63. UTILS\MEMORY.UTF    Unicode text source for the Memory Allocation
  64.             word set.
  65. UTILS\SYSCALLS.UTF    Unicode text source examples of Jax4th system
  66.             calls to NT DLLs.
  67. UTILS\UB2T.UTF        Unicode text source for program to convert
  68.             Unicode BLOCK files to Unicode text files.
  69. UTILS\YIQING.UTF    Cast the Yi Qing oracle.
  70.  
  71. Release notes:
  72. 1.25 -- Fixed 2/ MIN / /MOD
  73.  
  74.     Added UTILS\DEFER.UTF and removed the old DEFER from UTILS.UTF.
  75.  
  76.     Added the subdirectory OBJ4TH with some interesting files
  77.     implementing object extensions to Jax4th. See JAX4TH.DOC for
  78.     more information on these files.
  79.  
  80.     Glossary is pretty complete now!
  81.  
  82. 1.24 -- Fixed >
  83.  
  84. 1.23 -- Changed the way UNFOUND and -13 THROW worked to make failed
  85.     interpreter actions more CATCHable. Fixed SAVE-FORTH to make
  86.     more sensible note of save operations aborted due to user
  87.     cancel. Added YiQing.UTF to UTILS files.
  88.  
  89. 1.22 --    Added EKEY? which is very similar to what I had in place for
  90.     KEY? before. The new KEY? returns TRUE only for characters
  91.     1Bh and above, with the addition of carriage return 0Dh.
  92.  
  93. 1.21 -- Added EKEY and cleanup of struct declarations in WINDOWS.I ...
  94.     There's more to do on this latter; remember, I start Jax4th
  95.     under MASM386 which didn't allow nested structures. Almost
  96.     got it all though.
  97.  
  98.     See the Glossary in JAX4TH.DOC about EKEY by the way.
  99.  
  100. 1.20 --    Intermediate rev while working on EKEY.
  101.  
  102. 1.19 -- Cleanup, had accidentally left some debugging in the previous rev.
  103.     Anyway, you can now definitely SAVE-FORTH and RELOAD your saved
  104.     image, but read JAX4TH.DOC carefully on these subjects first,
  105.     particularly the sections "Invoking Jax4th" and "Saving a
  106.     Dictionary".
  107.  
  108. 1.18 -- Fixed WORDLIST and related words so that RELOADing would work
  109.     correctly. Limitation: don't SAVE-FORTH with any except system
  110.     wordlists in search order or current compliation vocabulary.
  111.     I may fix this eventually.
  112.  
  113.     Cleaned up the definition of VOCABULARY in UTILS.UTF and cleaned
  114.     up MEMORY.UTF.
  115.  
  116. 1.17 -- Added GETCOMMANDLINE ( -- c-addr u). Fixed bug in COMPARE.
  117.  
  118.     Added SAVE-INPUT and RESTORE-INPUT (both CORE EXTENSIONS).
  119.  
  120.     Added SAVE-CON and RESTORE-CON which save and restore certain
  121.     system items associated with the Console and its stacks for
  122.     Jax4th.
  123.  
  124.     This is an intermediate revision in which RELOADing doesn't
  125.     work entirely.
  126.  
  127. 1.16 -- Added SAVE-FORTH. To save an image, first define the
  128.     reload word, e.g., RELOAD-FID ..
  129.  
  130.         : RELOAD-FID ( file-id -- x x)
  131.             0 CODETODATA 65536 ROT READ-FILE ;
  132.  
  133.     before loading any other code and then using SAVE-FORTH to
  134.     save your image.That way, when you reload, the RELOAD-FID
  135.     word won't get trashed while reloading!!!
  136.  
  137.         : RELOAD-FID 0 CODETODATA 65536 ROT READ-FILE ;
  138.         ok0 MARKER FORGET-ME
  139.         ok0 : TEST ." IT WORKS! " ;
  140.         TEST
  141.         IT WORKS! ok0
  142.         SAVE-FORTH \ a filename requester comes up
  143.                    \ let's say you choose "FOO.DIC"
  144.         FORGET-ME
  145.         ok0 TEST
  146.         TEST? undefined
  147.         ok0 S" FOO.DIC" R/O OPEN-FILE DROP DUP RELOAD-FID
  148.         ok3 2DROP CLOSE-FILE DROP
  149.         ok0 TEST
  150.         IT WORKS! ok0
  151.  
  152.     This sounds strange, but I'll make it simpler in future
  153.     revisions. At least now you can save and restore images!
  154.  
  155. 1.15 -- Fixed OPEN-FILE analogously to the fix in CREATE-FILE in
  156.     1.14 .. these are the only two Jax4th calls to CreateFileW.
  157.  
  158.     Broke up the JX4EXAMP.BLK file into Unicode text files and
  159.     re-organized the distribution of the sample code. See
  160.     JAX4TH.DOC for more information on the example code files
  161.     (.UTF).
  162.  
  163. 1.14 -- Added INCLUDED. Added BIN. Fixed CREATE-FILE so that it does
  164.     string copying instead of using the string passed to it in
  165.     place. This is because of the null which must end the string
  166.     for the NT system call. S" was providing it, but WORD wasn't.
  167.  
  168.     Added the file UB2T.UTF, a Unicode source code example which
  169.     shows how to convert Unicode BLOCK files to Unicode text
  170.     files.
  171.  
  172. 1.13 --    Jax4th now interprets text files! However, they have to be
  173.     Unicode text files. UNIPAD.EXE in the Windows NT %MSTOOLS%\BIN
  174.     directory is brain-dead and buggy.  One way to deal with
  175.     Unicode is to use UNIBLOCK.EXE to convert the text
  176.     files you are editing to Unicode files. (It's *called* UNIBLOCK
  177.     but it doesn't really care if it's a BLOCK file or a plain text
  178.     file.
  179.  
  180.     Added INCLUDE-FILE which interprets Unicode only!) Also added
  181.     the variable FERROR in the NONSTANDARD-WORDLIST which saves the
  182.     last file error for INCLUDE-FILE (and probably other file-related
  183.     words in future revisions.
  184.  
  185. 1.12 -- Added UDMIN and READ-LINE. READ-LINE is Unicode only!!.
  186.     The Microsoft program UNIPAD.EXE is found in the %MSTOOLS%\BIN
  187.     directory and it's Notepad for Unicode files. ALternatively,
  188.     you can edit with an ASCII editor and use UNIBLOCK to convert
  189.     from ASCII to UNICODE. UNIBLOCK comes with the Jax4th
  190.     distribution.
  191.  
  192.     On the documentation front, I'm making progress but it still
  193.     ain't finished.
  194.  
  195.     Next to add: INCLUDE-FILE INCLUDED ... Stay Tuned!!!
  196.  
  197. 1.11 -- ***NOTE***  ***NOTE***  ***NOTE***  ***NOTE***  ***NOTE***
  198.     Realized that READ-FILE WRITE-FILE FILE-POSITION REPOSITION-FILE
  199.     etc. are supposed to deal with characters. They *were* written
  200.     dealing with byte files which is the genuine file format of NT.
  201.     SO ... to deal with this, we created parallel defs, e.g.,
  202.     READ-FILEA (ascii) READ-FILEW (wide-char unicode) and a DEFERred
  203.     READ-FILE which is vectored by default in COLD to READ-FILEW ..
  204.     If you want to change the vector READ-FILEA to read ASCII files,
  205.     then
  206.  
  207.         ' READ-FILEA ' READ-FILE >BDDY !
  208.  
  209.     is sufficient.
  210.  
  211.     Affected words, all of which are now deferred words, vectored by
  212.     default at powerup to their Unicode versions (e.g.,
  213.     FILE-POSITIONW instead of FILE-POSITIONA):
  214.  
  215.         FILE-POSITION
  216.         FILE-SIZE
  217.         READ-FILE
  218.         REPOSITION-FILE
  219.         RESIZE-FILE
  220.         WRITE-FILE
  221.  
  222.     Incidental to all this, of course, is the fact that a DODEFER
  223. execution engine has been added to the system.
  224.  
  225. 1.10 --    DUMP and WORDS now pause on spacebar and resume on same, quick
  226.     quit on any other keypress at either point.
  227.  
  228.     Discarded LocalLock() from the allocation of the data/userdict
  229.     area,     discarded LocalUnlock() from freeing of same, since
  230.     allocating with LMEM_FIXED anyway.
  231.  
  232.     Added D>S 2>R 2R>
  233.  
  234.     Added a "Bye" message to BYE
  235.  
  236. 1.9  -- Save EBX in SYSCALL just in case. Minor MASM 6.11 cleanups.
  237.  
  238. 1.8  -- Assembly source now 6.11-style PROTOs, no need for CALLCONV.INC
  239.     anymore. Added CHDIR to JX4EXAMP.BLK (useful!!).
  240.  
  241. 1.7  -- Minor text changes ...
  242.  
  243. 1.6  -- Added MARKER .... Added D0= ...
  244.  
  245. 1.5  -- Changed numbering system, now it's just the RCS revision
  246.     control number of jax4th.a
  247.  
  248.     Fixed headerlessness of WIDs, they used to make an UNNAMED
  249.     header in the dictionary, now are truly headerless.
  250.  
  251.     Added UD.R U.R
  252.  
  253. 1.06 -- Made sure CATCHing a -56 in the system catch does a QUIT
  254.  
  255.     More work on the glossary.
  256.  
  257. 1.05 -- First general public distribution. Docs: Glossary still not
  258.     finished.
  259.  
  260. BUG REPORTS AND SUGGESTED IMPROVEMENTS TO:
  261. Jax (Jack J. Woehr)
  262. PO Box 51
  263. Golden, CO 80402-0051
  264. jax@well.sf.ca.us
  265. 72203.1320@compuserve.com
  266. SYSOP RCFB (303) 278-0364
  267.  
  268. <<END of READ_1ST.TXT>>
  269.  
  270.